package com.codeZ.CompositePattern.example;

/**
 * 组合模式抽象类
 * @author codeZhang
 * @Date 2024/8/15 10:40
 */
public abstract class Component {
    /**
     * 添加子组件
     * @param component 组件
     */
    public abstract void add(Component component);

    /**
     * 移除子组件
     * @param component 组件
     */
    public abstract void remove(Component component);

    /**
     * 获取子组件
     * @param index 索引
     * @return 子组件
     */
    public abstract Component getChild(int index);

}
